package cn.design.realize.demo1;

/**
 * @author dlq
 * @description
 * @date 2020/9/25 10:13
 * @since 1.0
 */
public abstract class Handler {
    /**
     * 下一级的处理者，或者下一个审批人, 更高级别的领导
     */
    private Handler nextHandler;

    /**
     * @description 审批的具体方法，如果审批通过直接返回true,
     *      审批不通过的话 到下一级的处理者，或者下一个审批人, 更高级别的领导 审批
     * @param
     * @return boolean
     * @author dlq
     * @date 2020/9/25 10:16
     */
    public abstract boolean approval(int num);

    protected Handler getNextHandler() {
        return nextHandler;
    }

    protected void setNextHandler(Handler nextHandler) {
        this.nextHandler = nextHandler;
    }
}
